package com.easygem.dao.front;

import com.easygem.common.model.front.ImportRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 导入记录数据访问层
 */
@Mapper
public interface ImportRecordMapper {

    /**
     * 根据ID查询导入记录
     *
     * @param id 导入记录ID
     * @return 导入记录
     */
    ImportRecord selectById(Integer id);

    /**
     * 根据任务包ID查询导入记录
     *
     * @param taskPackageId 任务包ID
     * @return 导入记录
     */
    ImportRecord selectByTaskPackageId(Integer taskPackageId);

    /**
     * 新增导入记录
     *
     * @param importRecord 导入记录
     * @return 影响行数
     */
    int insert(ImportRecord importRecord);

    /**
     * 更新导入记录
     *
     * @param importRecord 导入记录
     * @return 影响行数
     */
    int updateById(ImportRecord importRecord);

    /**
     * 根据ID删除导入记录
     *
     * @param id 导入记录ID
     * @return 影响行数
     */
    int deleteById(Integer id);

    /**
     * 更新导入进度
     *
     * @param id         导入记录ID
     * @param importRows 已导入行数
     * @param status     状态
     * @param msg        消息
     * @return 影响行数
     */
    int updateProgress(@Param("id") Integer id, 
                      @Param("importRows") Integer importRows, 
                      @Param("status") Integer status, 
                      @Param("msg") String msg);
} 